﻿using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Linq.Expressions;
using System.Web;

namespace TCC.CMFlow.Models
{
    public class PerfilAcessoConfiguracao
    {
        public int ID { get; set; }
        public int PerfilAcessoID { get; set; }
        public int ModuloSistemaID { get; set; }

        public virtual PerfilAcesso PerfilAcesso { get; set; }
        public virtual ModuloSistema ModuloSistema { get; set; }

        public virtual ICollection<Permissao> Permissoes { get; set; }

        public static Expression<Func<PerfilAcessoConfiguracao, bool>> IsPerfilAtivo
        {
            get
            {
                return t => t.PerfilAcesso.InicioVigencia.HasValue && t.PerfilAcesso.InicioVigencia.Value <= DateTime.Today && (!t.PerfilAcesso.FimVigencia.HasValue || t.PerfilAcesso.FimVigencia.Value >= DateTime.Today);
            }
        }
    }
}